package com.zerocarbon.framework.db.properties;

import lombok.Getter;

/**
 *  * 多租户类型
 * NONE、COLUMN、SCHEMA、DATASOURCE
 * @author wyf  2020年6月9日
 */
@Getter
public enum MultiTenantType {
	
    NONE("非租户模式"),
    
    /**
     * 字段模式
     * 在sql中拼接 tenant_id 字段
     */
    COLUMN("字段租户模式"),
    
    /**
     * 独立schema模式
     * 在sql中拼接 数据库 schema
     */
    SCHEMA("独立schema模式"),
	
	/**
     * 独立数据源模式
     * 该模式暂时不支持
     */
    DATASOURCE("独立数据源模式"),
    ;
    String describe;


    MultiTenantType(String describe) {
        this.describe = describe;
    }

    public boolean eq(String val) {
        return this.name().equalsIgnoreCase(val);
    }

    public boolean eq(MultiTenantType val) {
        if (val == null) {
            return false;
        }
        return eq(val.name());
    }
}
